package com.culture.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.culture.common.annotation.Excel;
import com.culture.common.core.domain.BaseEntity;

/**
 * AI聊天对象 chat_messages
 *
 * @author lidongsheng
 * @date 2025-04-10
 */
public class ChatMessages extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 编号 */
    @Excel(name = "编号")
    private Long id;

    /** 对话 */
    @Excel(name = "对话")
    private Long dialogueId;

    /** 消息类型（例如：用户，机器人，错误...） */
    @Excel(name = "消息类型", readConverterExp = "例=如：用户，机器人，错误...")
    private String messageType;

    /** 消息内容 */
    @Excel(name = "消息内容")
    private String content;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdAt;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setDialogueId(Long dialogueId)
    {
        this.dialogueId = dialogueId;
    }

    public Long getDialogueId()
    {
        return dialogueId;
    }
    public void setMessageType(String messageType)
    {
        this.messageType = messageType;
    }

    public String getMessageType()
    {
        return messageType;
    }
    public void setContent(String content)
    {
        this.content = content;
    }

    public String getContent()
    {
        return content;
    }
    public void setCreatedAt(Date createdAt)
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt()
    {
        return createdAt;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("dialogueId", getDialogueId())
            .append("messageType", getMessageType())
            .append("content", getContent())
            .append("createdAt", getCreatedAt())
            .toString();
    }
}
